メインコンテンツまでスキップ
バージョン: DAI 7.3

DAIではシングルサインオン(SSO) はどのように機能しますか?

シングル サインオン (SSO) を有効にすると、DAI は Microsoft Entra ID などの外部 ID プロバイダーを使用して、ユーザーの管理と認証を行うことができます。SSO が有効な場合、DAI は ID プロバイダーのユーザー管理および認証機能を、組み込み ID およびアクセス管理 (IAM) プロバイダーである Keycloak と統合します。このページでは、DAI で SSO を実装する方法を簡単にまとめます。

Intended Audience: このトピックは、SSO 統合を検討している DAI 管理者を対象としています。

DAI は、OpenID 接続 (OIDC) または Security Assertion Markup Language (SAML) v2 プロトコルのいずれかの ID プロバイダーとして、Microsoft Entra ID (旧称 "Azure AD") との統合をサポートしています。以下は、これらのオプションに関する情報へのリンクです。

ノート

統合の仕組みをよりよく理解するために、以下のリンク先のページを読む前に、このページの残りの部分を読むことをお勧めします。

ノート

SSOとDAIの統合について話すとき、その組み込みアクセスおよびIDプロバイダーであるKeycloakについて話します。

仕組み

次の図は、DAI と ID プロバイダー間でユーザー データがどのように管理および共有されるかをまとめたものです。

DAI SSO Integration

ユーザーデータとアセットデータはどこに保存されますか?

DAI で SSO が有効になっている場合、以下で説明するように、ユーザーデータは ID プロバイダーによって管理され、アセットデータとアクセス制御は Keycloak によって管理されます。

Id プロバイダーはユーザー データを管理します

ユーザーとその資格情報は、ID プロバイダー (MS Entra ID) によって排他的に作成および管理されます。ユーザー(DAI Viewer、User、またはAdmin) へのロールの割り当ても、IDプロバイダーによって排他的に管理されます。ユーザーが初めて DAI にログインすると、Keycloak は ID プロバイダから受け取った情報に基づいてユーザーのコピーを作成します。

DAIはモデルアクセスを管理します

DAI(具体的にはKeycloak)は、アクセスグループとそれらのグループのメンバーシップを引き続き所有および管理します。DAI アクセス グループは ID プロバイダーに格納されず、SSO には関与せず、ID プロバイダーのグループとは無関係です。DAIはグループを使用してDAIモデルへのアクセス制御を管理します。

ノート

Keycloak は、ユーザーとそのロールの割り当てのコピーを保持し、ユーザーがログインするたびに Id プロバイダーからのデータと関連付けます。

ビヘイビア

DAI で SSO を有効にすると、ユーザーは次の認証動作を経験します。

  • ユーザーがまだログインしていないときにDAIにアクセスしようとすると、ログインするためにIDプロバイダーにリダイレクトされ、成功するとDAIにリダイレクトされます。

  • 同様に、DAI からログアウトすると、ID プロバイダーからログアウトされます。

  • SSO を有効にしてユーザーが初めて DAI にログインすると、DAI は Keycloak にユーザーレコードを作成し、そのユーザーにロールを割り当てます。 これは、ID プロバイダーから DAI に送信されたデータに基づいています。

  • その後のログインごとに、このユーザー アカウントは再利用されますが、Id プロバイダーからの変更があれば最新のstateに保たれます。

  • DAIのパスワードと多要素認証(MFA) 機能は無効になり、ユーザーから隠されます。

  • DAI のユーザー作成および編集機能は無効になります。

  • DAIの管理者であれば、DAIのManage Access機能にアクセスすることはできますが、ユーザーアカウントの作成や編集はできません。DAIに一度以上ログインしたユーザーのみが表示されます。

明確化

以下は、DAI SSO統合の仕組みに関する追加の説明のリストです。

  • DAI システム管理者ユーザーは、Keycloak でローカル ユーザーとして保持されます。このユーザーは引き続きシステムのアップグレードに使用され、Eggplantカスタマーサポートと協力してKeycloak関連の問題を調査する際に使用できます。このユーザーではDAIにログインできませんが、Keycloak管理コンソールにはアクセスできます。

  • 同様に、DAI サービスのサービス アカウント (サービス間認証など) は、引き続き Keycloak でローカルに管理されます。

  • DAIのManage Accessページからremove usersは引き続き可能です。ただし、これはユーザーをKeycloakから削除するだけです。ID プロバイダーからユーザーは削除されません。「ユーザーの削除」は、ID プロバイダーからユーザーを削除し、Keycloak からユーザーを削除する場合に使用できます。Keycloak からユーザーを削除し、ID プロバイダからは削除しなかった場合、そのユーザーが後で DAI にログインしようとすると、DAI はそのユーザーを以前にシステムにアクセスしたことのない新しいユーザーとして扱い、Keycloak に新しいユーザーレコードを作成します。

  • Keycloak内からユーザーを有効または無効にして、DAIへのアクセスを一時的に取り消すことはできます。

  • DAIは、ユーザーがDAIに初めてログインするまで、ユーザーについて知りません。初回ログインまでは、DAIのアクセス管理画面にユーザーが表示されず、グループに追加することもできません。

  • 認証情報(パスワードなど)がDAI(またはKeycloak)と共有されることはなく、認証と認証情報の管理はお客様のIDプロバイダーが単独で責任を負います。

DAI での SSO サポートの範囲

  • Keycloak は現在、System for Cross-domain Identity Management (SCIM) API をサポートしていません。ユーザーが Active Directory から削除されても、そのユーザーは Keycloak から自動的に削除されません。

  • Keycloak はほとんどの ID プロバイダ (少なくとも OIDC または SAML 2 をサポートするプロバイダ) と統合できますが、DAI は現時点では Entra ID との統合のみをサポートしています。